package com.mmall.common.spring.service;

import com.common.framework.util.CacheUtils;
import org.springframework.data.domain.Pageable;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;

/**
 * @author wiiyaya
 * @date 2016/6/14
 */
public interface RedisService {

    /**
     * 从redis获取String类型数据
     *
     * @param cacheName 缓存名称zGetByScore
     * @param key       组成key的变量
     * @return key对应value
     */
    Object vGet(CacheUtils.CacheName cacheName, String key);

    /**
     * 往redis中存入String类型数据
     *
     * @param cacheName 缓存名称
     * @param key       组成key的变量
     * @param value     要存入的数据
     */
    void vPut(CacheUtils.CacheName cacheName, String key, Object value);

    /**
     * 往redis中存入String类型数据
     *
     * @param cacheName 缓存名称
     * @param key       组成key的变量
     * @param value     要存入的数据
     */
    boolean vPutIfAbsent(CacheUtils.CacheName cacheName, String key, Object value);

    /**
     *
     * @param orderNumberSequence
     * @param key
     * @param incr 增长步长
     */
    Long vIncr(CacheUtils.CacheName orderNumberSequence, String key, long incr);
}
